--@author Oleg Mayevskiy <mayevskiy.oleg@googlemail.com> (233197)
_stack = {
  size = 0,
  stack = {},

  push = function (s, item)
    s.size = s.size + 1
    s.stack[s.size] = item
  end,

  pop = function (s)
    if (s.size <= 0) then return nil end
    local item = s.stack[s.size]
    s.size = s.size - 1
    return item
  end,

  peek = function (s)
    if (s.size <= 0) then return nil end
    return s.stack[s.size]
  end
}

